import { CaretRight } from '@element-plus/icons-vue';
import axios from './config.js'

// 导出所有的 api接口
export default {

    getAccessToken(refresh) {
        // 刷新令牌 换取令牌
        return axios.post("/api/token/refresh", {refresh}, {permission: false});
    },
	
	register(data){
		// 注册用户
		return axios.post('/user-app/user',data,{
			permission: false,// 如果是false,该接口不需要登录就能访问
			loading:true, 
		})
	},
	//2121
	
	login({username,password}){
		//登录 jwt 中的token
		return axios.post('/api/token',{username,password},{
			permission: false,// 如果是false,该接口不需要登录就能访问
			loading:true, 
		})
	},

	updatePwd(data){
		//修改密码
		return axios.post('/user-app/user/update-Pwd', data,{loading:true})
	},

	getCodeByEmail(email){
		//找回密码(发送验证码)
		return axios.get('/user-app/user/code-email',{
			permission: false,// 如果是false,该接口不需要登录就能访问
			loading:true,
			params:{email:email},
		})
	},
	handleActions(data){
		//找回密码
		return axios.post("/user-app/user/handleActions",data,{
			permission: false,// 如果是false,该接口不需要登录就能访问
			loading:true,
		})
	},

	getCodeByEmailToRegister(email){
		// 用户注册验证码
		return axios.get('/user-app/user/register-code-email',{
			permission: false,// 如果是false,该接口不需要登录就能访问
			loading:true,
			params:{email:email},
		})
	},

	findAvailable(){
		//查询注册页面中 可用的班级 ,不需要认证
		return axios.get("/user-app/clazz/available-list",{permission: false})
	},
	
	getClazzList({page,rows}){
		// 查询班级列表,做分页处理
		return axios.get('/user-app/clazz-list',{
			params:{page,rows},
			loading:true, 
		})
	},
	//121

	addClazz(data){
		// 添加班级
		return axios.post('/user-app/clazz-list',data,{loading:true})
	},
	
	get_update_Class(id){
		//在编辑班级中,需要先查到要编辑的班级
		return axios.get('/user-app/clazz-list/edit-clazz',{
			params:{'id':id},
			loading:true,
		})
	},
	
	SetUpdateClazz(data){
		//修改班级;
		return axios.post('/user-app/clazz-list/update-clazz',data,{loading:true});
	},
	
	modifygraduate(data){
		//在班级中修改毕业
		return axios.post('/user-app/clazz-list/clazz-status',data,{loading:true})
	},
	
	deleteClazz(id){
		//删除班级
		return axios.delete('/user-app/clazz-list/'+id,{},{
			loading:true, 
		})
	},

	deleteAllClazz(ids){
		//批量删除班级列表
		return axios.delete('/user-app/clazz-list/delect-All-Clazz',{
			data:ids,
			loading:true, 
		})
		
	},

	getStageList({page, rows}){
		// 查询阶段
		return axios.get('/user-app/stage', {
			params: {page, rows},
			loading:true,
		})
	},

	saveStage(data) {
		// 增加阶段
		return axios.post('/user-app/stage', data, {loading: true});
	},

	batchRemoveStage(ids) {
		// 批量删除阶段
		return axios.delete('/user-app/stage/batch', {
			data: ids,
		});
	},

	deleteStage(id){
		//删除阶段
		return axios.delete('/user-app/stage/'+id,{},{
			loading:true,
		})
	},

	get_update_Stage(id){
		//在编辑阶段中,需要先查到要编辑的阶段
		return axios.get('/user-app/stage/edit-stage',{
			params:{'id':id},
			loading:true,
		})
	},

	SetUpdateStage(data){
		//修改阶段
		return axios.post('/user-app/stage/update-stage',data,{loading:true});
	},
	getModuleList({page,rows}){
		return axios.get('/user-app/module-list', {
			params:{page,rows},
			loading:true,
		})
	},
	saveModule(data){
		// 添加模块
		return axios.post('/user-app/module-save',data,{loading:true})
	},
	batchRemoveModule(ids){
		//批量删除模型
		return axios.delete('/user-app/module-list/batch-remove-Module',{data:ids},{loading:true});
	},
	deleteModule(id){
		//删除模块
		return axios.delete('/user-app/module-list/'+id,{},{
			loading:true,
		})
	},

	get_update_Module(){
        //在编辑模块中,需要先查到要编辑的模块 (数据编辑前的数据)
        return axios.get('/user-app/module-list/edit-module',{
            loading:true,
        })
    },
	SetUpdateModule(id, data){
        //修改模型;
        return axios.post('/user-app/module-list/' + id + '/update-module',data,{loading:true});
    },
	stageable(){
		//查询注册页面中 可用的阶段 ,不需要认证
		return axios.get("/user-app/stage",{})
	},
    modifyClass(){
		//切换班级(查询班级名)
		return axios.get('/user-app/clazz-list/switch-class',{loading:true})
	},

	switchClass_by_clazz_id(id){
		//根据传入的id 查询 班级名称,并修改该用户的班级id
		return axios.post("/user-app/clazz-list/clazz-update_id",{"id":id},{loading:true})
	},

	//// 任务
	getTaskList(data){
		// 查询任务
		return axios.get('/user-app/task', {
			params: data,
			loading:true,
		})
	},
	deleteTask(id){
		//删除任务
		return axios.delete('/user-app/task/'+id,{},{
			loading:true,
		})
	},
    moduleable(stage){
	// 查询可用的模块
		return axios.get('/user-app/module-list/Moduleable',{
			params:{'stage' : stage},
		})
	},
	saveTask(data){
	// 	添加任务
		return axios.post('/user-app/task-save', data,{loading:true})
	},
	TaskUpdateToShow(id){
		//修改任务的-查询当前任务
		return axios.get('user-app/task-save/task-update-show?id='+id,{loading:true})
	},
	updateTask(data){
		//任务中心的 修改任务
		return axios.post('user-app/task-save/task-update',data,{loading:true})
	},


	//任务中心
	GroupApplyPson(){
		//在任务中心中,分配要查看的人员
		return axios.get('/user-app/task/groupApplyPson',{loading:true})
	},
	SelectgrouApply(data,id){
		// console.log(id,"班级的编辑id1111111111111111111111")
		//任务中心分组选中的人员(任务选中的人)
		return axios.post('/user-app/task/selectgroupApply?id='+id,data,{loading:true})
	},


	///人员组管理列表

	GroupList({page, rows}){
		// 人员组列表
		return axios.get('/user-app/group',{
			params:{page,rows},
			loading:true
		})
	},
	deleteGroup(id){
		// 删除小组
		return axios.delete('/user-app/group/'+id,{},{
			loading:true,
		})
	},
	batchRemoveGroup(group_id){
		// 批量删除小组
		return axios.delete('/user-app/group/batch-remove', {
			data:group_id,
			loading:true,
		})
	},
	saveGurop(data){
		//添加人员
		return axios.post('/user-app/group',data)
	},

	get_update_Group(id){
		// 修改组 名称(获取组名称)
		return axios.get('/user-app/group/groupUpdateName?id='+id,{loading:true})
	},
	///人员组管理-分配任务-展示任务(分组和查询)
	GroupshowTaskLists(data){
		return axios.get('/user-app/group-task',{
			params:data,
			loading:true,
		})
	},

	assignTask(rows,group_id){
		//人员组管理-分配任务
		return axios.post('/user-app/group-task/assign-task',{rows:rows,group_id:group_id},{
			loading:true
		})
	},




    //查询用户表中所有学生
	getStudentList({page,rows}){
		//查询用户表中所有的学生，做分页处理
		return axios.get('/user-app/userTaskhub',{
			params:{page,rows},
			loading:true,
		})
	},


	//// 学生中心

	handleDelete(id){
		//禁用用户
		return axios.delete(`/user-app/user/disable-user?id=`+id,{
			loading:true,
		})
	},
	handleEdit(id){
		//重置用户密码
		return axios.put('/user-app/user/reset-password?id='+id,{loading:true})
	},

	getTask(id){
		// 查询任务
        return axios.get('/user-app/task/'+id,{
			loading:true
		})
	},
	getAssignment(id){
		// 查询作业
        return axios.get('/user-app/user-task/'+id,{
			loading:true
		})
	},
	getUserTask({page,rows}){
		// 查询作业
        return axios.get('/user-app/user-task',{
			params:{page,rows},
			loading:true,
		})
	}




}